﻿/* 获取页面传递参数 例如：Request.QueryString("C_ID"); */
Request = { QueryString: function (item) { var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i")); return svalue ? svalue[1] : svalue; } }

/* 判断输入是否为合法的手机号码/^1[3|5][0-9]\d{4,8}$/ */
//function Check_Mobile(strMobile) {
//    if (!isDigit(strMobile)) return false;
//    if (strMobile.length != 11) return false;
//    if (strMobile.substring(0, 1) != "1") return false;
//    return true;
//}
function Check_Mobile(strMobile) {
    if (!isDigit(strMobile)) return false;
    if (strMobile.length != 11) return false;
    var first = strMobile.substring(0, 1);
    var second = strMobile.substring(1, 2)
    if (first != "1" || (second != "3" && second != "5" && second != "7" && second != "8")) return false;
    return true;
}

/* 检查金额数字、小数最多2位，整数部分长度最多10位 */
function check_Money(val) {
    var reg = /^(([0-9]+)|([0-9]+\.[0-9]{1,2}))$/;
    var isMoneyFormatRight = reg.test(val);
    var regN = /[0-9]+/;
    var n = regN.exec(val);
    var s = "";
    if (n != null && n != undefined)
        s = n.toString();
    if (isMoneyFormatRight && val == 0) {
        isMoneyFormatRight = false;
    }
    if (isMoneyFormatRight && s.length > 10) {
        isMoneyFormatRight = false;
    }
    return isMoneyFormatRight;
}

/* 检查是否为中文字 */
function isChinese(s) {
    if (s.trim() == "")
        return false;
    var reg = /[^\u4E00-\u9FA5]/g;
    if (reg.test(s)) {
        return false;
    }
    return true;
}

/* 检验是否全是汉字 */
function checkhanzi(str) {
    // [\u4E00-\uFA29]|[\uE7C7-\uE7F3]汉字编码范围 
    var re1 = new RegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3])*$");
    if (!re1.test(str)) {
        return false;
    }
    return true;
}

/* 设置cookie的值，有效期为120分钟 */
function Set_Cookie(name, value) {
    var exp = new Date();
    exp.setTime(exp.getTime() + 120 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";";
}

/* 获取cookie的值 */
function get_Cookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null)
        return unescape(arr[2]);
    return null;
}

/* 删除cookie */
function Del_Cookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = get_Cookie(name);
    if (cval != null)
        document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString() + ";";
}

/* 数字的确定 */
function isDigit(theNum) {
    if (/^[0-9]*[1-9][0-9]*$/.test(theNum)) {
        if (theNum.toString().substring(0, 1) == "0") {
            return false;
        }
        return true;
    }
    else {
        return false;
    }
}

/* 去除字符串首尾空格 */
String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); }

//使用正则表达式先截取前面的空格，在截取后面的空格
function Trim(s) {
    return s.replace(/^\s*/, "").replace(/\s*$/, "");
}

/*去除字符串中所有的空格*/
function RemoveStringAllSpace(s) {
    var result = s.replace(/\s+/g, "");
    return result;
}

/* 验证身份证号码，返回string类型 */
function checkIdcard(_idcard) {
    //返回值（格式：1、身份证验证错误(Errors[])   2、通过验证(areacode + "|" + birthday + "|" + sex)）
    var idcard = Trim(_idcard);
    var areacode = ""; //地区
    var birthday = ""; //出生日期(年-月-日)
    var sex = ""; //性别
    var Errors = new Array(
	"身份证号码位数不对！",
	"身份证号码出生日期超出范围或含有非法字！",
	"身份证号码校验错误！",
	"身份证地区非法！"
	);
    var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海",
        32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西",
        46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆",
        71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
    };
    var Y, JYM;
    var S, M;
    var idcard_array = new Array();
    idcard_array = idcard.split("");
    //地区检验
    if (area[parseInt(idcard.substr(0, 2))] == null) {
        return (Errors[3]);
    }
    else
        areacode = area[parseInt(idcard.substr(0, 2))];
    //身份号码位数及格式检验
    switch (idcard.length) {
        case 15:
            //出生日期的合法性检查
            if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性
            }
            else {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性
            }
            if (ereg.test(idcard)) {
                birthday = (parseInt(idcard.substr(6, 2), 10) + 1900) + "-" + idcard.substr(8, 2) + "-" + idcard.substr(10, 2); //年-月-日
            }
            else {
                return (Errors[1]);
            }
            //性别
            if (parseInt(idcard.substr(14, 1)) % 2 == 1)
                sex = "男";
            else
                sex = "女";
            break;
        case 18:
            //18位身份号码检测
            //出生日期的合法性检查 
            //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
            //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
            if (parseInt(idcard.substr(6, 4)) % 4 == 0 || parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0) {
                //                ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
                ereg = /^[1-9][0-9]{5}((19[0-9]{2})|20[0-9]{2})((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
            }
            else {
                //ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
                ereg = /^[1-9][0-9]{5}((19[0-9]{2})|20[0-9]{2})((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
            }
            if (ereg.test(idcard)) {
                birthday = idcard.substr(6, 4) + "-" + idcard.substr(10, 2) + "-" + idcard.substr(12, 2); //年-月-日
            }
            else {
                return (Errors[1]);
            }
            //计算校验位
            S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
			+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
			+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
			+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
			+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
			+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
			+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
			+ parseInt(idcard_array[7]) * 1
			+ parseInt(idcard_array[8]) * 6
			+ parseInt(idcard_array[9]) * 3;
            Y = S % 11;
            M = "F";
            JYM = "10X98765432";
            M = JYM.substr(Y, 1); //判断校验位
            if (M != idcard_array[17].toUpperCase()) {
                return (Errors[2]);
            }
            //性别
            if (parseInt(idcard.substr(16, 1)) % 2 == 1)
                sex = "0"; //男
            else
                sex = "1"; //女
            break;
        default:
            return (Errors[0]);
            break;
    }
    return (sex);
}

/*
判断 只能是 6-8位的数字
不允许按顺序的密码
不允许包含出生日期，手机前6位，手机后6位，身份证后6位
不允许112233这样子（双数字 不能超过3对）
不允许333444这样子（3数字 不能超过2对）
*/
function CheckPwd(theNum) {
    if (isNaN(theNum)) { //非数字
        return "不是数字";
    }
    else {
        if (theNum.length < 6 || theNum.length > 8) {
            return "只能是6-8位的数字";
        }
        //不允许按顺序
        var temp = theNum.split("");
        var queueNum = 0;
        var noQueueNum = 0;
        for (var i = 0; i < temp.length - 1; i++) {
            if (parseInt(temp[i + 1]) == parseInt(temp[i]) + 1) {
                queueNum++;
            }
            else {
                noQueueNum++;
            }
        }
        if (noQueueNum == 0) {
            return "不允许按数字的顺序";
        }
        queueNum = 0;
        noQueueNum = 0;
        for (var i = 0; i < temp.length - 1; i++) {
            if (parseInt(temp[i + 1]) == parseInt(temp[i]) - 1) {
                queueNum++;
            }
            else {
                noQueueNum++;
            }
        }
        if (noQueueNum == 0) {
            return "不允许按数字的顺序";
        }
        //不允许包含出生日期，手机前6位，手机后6位，身份证后6位
        //不允许包含出生日期
        //不允许与用户注册或登录的手机前6位相同
        var currentMobile = window.parent.RegUserEntity.UserMobile;
        if (currentMobile != null && currentMobile != "") {
            if (theNum.indexOf(currentMobile.substring(0, 6)) > -1) {
                return "不允许包含手机号码前6位";
            }
            if (theNum.indexOf(currentMobile.substr(currentMobile.length - 6, 6)) > -1) {
                return "不允许包含手机号码后6位";
            }
        }
        //取身份证的出生日期
        var idcarno = window.parent.RegUserEntity.UserCNO;
        if (idcarno != null && idcarno != "") {
            if (idcarno.length == 15) {
                if (theNum.indexOf(idcarno.substr(6, 6)) > -1) {
                    return "不允许包含出生日期";
                }
            }
            if (idcarno.length == 18) {
                if (theNum.indexOf(idcarno.substr(6, 8)) > -1) {
                    return "不允许包含出生日期";
                }
            }
            if (theNum.indexOf(idcarno.substr(idcarno.length - 6, 6)) > -1) {
                return "不允许包含身份证后6位";
            }
        }
        //不允许手机后6位
        //不允许112233这样子（双数字 不能超过3对）
        var repeat2Num = 0;
        for (var i = 0; i < temp.length - 1; i++) { //已判断的加标志&
            if (temp[i].indexOf("&") < 0) { //不包含
                if (parseInt(temp[i]) == parseInt(temp[i + 1])) {
                    repeat2Num++;
                    temp[i] = temp[i] + "&";
                    temp[i + 1] = temp[i + 1] + "&";
                }
            }
        }
        if (repeat2Num > 2) {
            return "双数字不能超过2对";
        }
        var repeat3Num = 0;
        var othertemp = theNum.split("");
        for (var i = 0; i < othertemp.length - 2; i++) {
            if (othertemp[i].indexOf("&") < 0) {
                if (parseInt(othertemp[i]) == parseInt(othertemp[i + 1]) && parseInt(othertemp[i]) == parseInt(othertemp[i + 2])) {
                    repeat3Num++;
                    othertemp[i] = othertemp[i] + "&";
                    othertemp[i + 1] = othertemp[i + 1] + "&";
                    othertemp[i + 2] = othertemp[i + 2] + "&";
                }
            }
        }
        if (repeat3Num > 1) {
            return "3数字不能超过2对";
        }
        return "";
    }
}

/* 0=顺德农商银行，1=农业银行，2=工商银行，3=建设银行，4=中国银行 */
function GetBankBySeq(SeqNumber) {
    switch (SeqNumber) {
        case 0:
            return "顺德农商银行"; break;
        case 1:
            return "中国农业银行"; break;
        case 2:
            return "中国工商银行"; break;
        case 3:
            return "中国建设银行"; break;
        case 4:
            return "中国人民银行"; break;
        default:
            break;
    }
}

/* 银行卡号中间变*号 */
function GetBankNoWithBlur(bankno) {
    if (bankno != null) {
        var middleStr = new Array(9).join("*");
        return bankno.substr(0, 4) + middleStr + bankno.substring(bankno.length - 4, bankno.length);
    }
    else
        return null;
}

/*　获取网址中的参数　*/
function getQueryString(queryStringName) {
    var returnValue = "";
    var URLString = new String(document.location);
    var serachLocation = -1;
    var queryStringLength = queryStringName.length;
    do {
        serachLocation = URLString.indexOf(queryStringName + "\=");
        if (serachLocation != -1) {
            if ((URLString.charAt(serachLocation - 1) == '?') || (URLString.charAt(serachLocation - 1) == '&')) {
                URLString = URLString.substr(serachLocation);
                break;
            }
            URLString = URLString.substr(serachLocation + queryStringLength + 1);
        }
    }
    while (serachLocation != -1)
    if (serachLocation != -1) {
        var seperatorLocation = URLString.indexOf("&");
        if (seperatorLocation == -1) {
            returnValue = URLString.substr(queryStringLength + 1);
        }
        else {
            returnValue = URLString.substring(queryStringLength + 1, seperatorLocation);
        }
    }
    return returnValue;
}

/* 数组移除某值 */
Array.prototype.indexOf = function (val) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == val) return i;
    }
    return -1;
};
Array.prototype.remove = function (val) {
    var index = this.indexOf(val);
    if (index > -1) {
        this.splice(index, 1);
    }
};

/* 判断是否为空值，与placeholder有关，传ID值,true为空,false不空*/
function CheckInputEmpty(inputElement) {
    var strInput = $.trim($("#" + inputElement).val());
    if (isPlaceholder()) { //支持placeholder     
        if (strInput.length == 0) return true;
        else return false;
    }
    if (!isPlaceholder()) {
        //判断input有没有加上placeholder属性
        var placeholderAttr = typeof ($("#" + inputElement).attr("placeholder")) == "undefined"; //true即没有属性
        var Content_Item_Text_NotFocusClass = $("#" + inputElement).hasClass("Content_Item_Text_NotFocus"); //true即具有属性
        if (!placeholderAttr && Content_Item_Text_NotFocusClass) {
            if ($("#" + inputElement).attr("placeholder") == strInput || strInput.length == 0) return true;
            else return false;
        }
        else {
            if (strInput.length == 0) return true;
            else return false;
        }
    }
}

/* 判断浏览器是否支持 placeholder属性 */
function isPlaceholder() {
    var input = document.createElement('input');
    return 'placeholder' in input;
}

/* 把文本框的值清空，当输入内容不符合规则的时候 */
function SetInputEmpty(inputElement) {
    if (isPlaceholder()) { //支持placeholder
        $("#" + inputElement).val("");
    }
    if (!isPlaceholder()) {
        $("#" + inputElement).val("").trigger("blur");
    }
}

/* 判断银行卡号是否符合规则 */
function IsBankNo(bankNo, SeqNumber) {
    if (!isDigit(bankNo))
        return false;
    if (bankNo.length == 0)
        return false;
    if (bankNo.length < 16)
        return false;
    if (SeqNumber == 0 && bankNo.substr(0, 1) != "6")
        return false; //顺德农商首位固定为6
    return true;
}

function GetMobile_3_3_Blur(mobile) {
    return mobile.substr(0, 3) + "*****" + mobile.substr(8, 3);
}

/*密码验证规则，6-8位的数字*/
function CheckPwdRule(theNum) {
    if (isNaN(theNum)) return false;
    if (theNum.length < 6 || theNum.length > 8) return false;
    return true;
}

/* 页面跳转 */
function localhref_Go_url(url) {
    if (url != null || url != "") {
        location.href = url;
    }
}

/* 日期类型格式化方法的定义 */
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1,                 //月份 
        "d+": this.getDate(),                    //日 
        "h+": this.getHours(),                   //小时 
        "m+": this.getMinutes(),                 //分 
        "s+": this.getSeconds(),                 //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds()             //毫秒 
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}

function FormatPayMode(SeqNumber) {
    switch (SeqNumber) {
        case 0:
            return "网站端"; break;
        case 1:
            return "自助终端机"; break;
        case 2:
            return "非实时终端"; break;
        case 3:
            return "微信端"; break;
        default:
            return "手机客户端";
    }
}

/*获取select控件所有选项值和文本，返回格式化字符串*/
function GetSelectOptionText(selectControlName) {
    var selectOption = "";
    selectControlName += " option";
    $(selectControlName).each(function (i, val) {
        var node = val.value + "|" + val.text + "|";
        selectOption += node;
    });
    selectOption = selectOption.substring(0, selectOption.length - 1);
    return selectOption;
}
/*恢复select控件所有选项的Html格化文本*/
function RevertSelectOptionHtml(txtOptionValue) {
    var optionList = txtOptionValue.split("|");
    var optionHtml = "";
    for (var i = 0; i < optionList.length; i += 2) {
        optionHtml += "<option value=" + optionList[i] + ">" + optionList[i + 1] + "</option>";
    }
    return optionHtml;
}




